package com.ktgj.flight.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 订单通用产品-保险，优惠劵等对象 flight_order_product
 * 
 * @author ruoyi
 * @date 2021-10-26
 */
public class FlightOrderProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 订单通用产品ID */
    private Long orderProductId;

    /** 退票时应收取客人的费 */
    @Excel(name = "退票时应收取客人的费")
    private BigDecimal refundFee;

    /** 产品使用进度描述 */
    @Excel(name = "产品使用进度描述")
    private String memo;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 机票通用产品序列化json数据 */
    @Excel(name = "机票通用产品序列化json数据")
    private String productJson;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 机通用产品ID */
    @Excel(name = "机通用产品ID")
    private Long productId;

    /** 线下退款金额 */
    @Excel(name = "线下退款金额")
    private BigDecimal offlineRefund;

    /** 类型 */
    @Excel(name = "类型")
    private String typeId;

    /** 结算价格 */
    @Excel(name = "结算价格")
    private String settlementPrice;

    /** 券编号 */
    @Excel(name = "券编号")
    private String productNumber;

    /** 来源类型 1自营 2外购 */
    @Excel(name = "来源类型 1自营 2外购")
    private String sourceType;

    /** 产品维护版本日志id */
    @Excel(name = "产品维护版本日志id")
    private Long logId;

    /** 数量 */
    @Excel(name = "数量")
    private Long buyNum;

    /** 关联订单乘客ID */
    @Excel(name = "关联订单乘客ID")
    private Long guestId;

    /** 机票通用产品序列化json数据(已废弃) */
    @Excel(name = "机票通用产品序列化json数据(已废弃)")
    private String productJson1;

    /** 1默认 2开劵成功 3开劵失败 */
    @Excel(name = "1默认 2开劵成功 3开劵失败")
    private String status;

    /** 销售价 （价格为0为赠送） */
    @Excel(name = "销售价 ", readConverterExp = "价=格为0为赠送")
    private BigDecimal salesPrice;

    /** 关联订单号 */
    @Excel(name = "关联订单号")
    private Long orderId;

    /** 产品来源转换id */
    @Excel(name = "产品来源转换id")
    private Long convertId;

    /** 是否线下已退款 0否 1是 */
    @Excel(name = "是否线下已退款 0否 1是")
    private String isOfflineRefund;

    public void setOrderProductId(Long orderProductId) 
    {
        this.orderProductId = orderProductId;
    }

    public Long getOrderProductId() 
    {
        return orderProductId;
    }
    public void setRefundFee(BigDecimal refundFee) 
    {
        this.refundFee = refundFee;
    }

    public BigDecimal getRefundFee() 
    {
        return refundFee;
    }
    public void setMemo(String memo) 
    {
        this.memo = memo;
    }

    public String getMemo() 
    {
        return memo;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setProductJson(String productJson) 
    {
        this.productJson = productJson;
    }

    public String getProductJson() 
    {
        return productJson;
    }
    public void setLastUpdateDate(Date lastUpdateDate) 
    {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Date getLastUpdateDate() 
    {
        return lastUpdateDate;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setOfflineRefund(BigDecimal offlineRefund) 
    {
        this.offlineRefund = offlineRefund;
    }

    public BigDecimal getOfflineRefund() 
    {
        return offlineRefund;
    }
    public void setTypeId(String typeId) 
    {
        this.typeId = typeId;
    }

    public String getTypeId() 
    {
        return typeId;
    }
    public void setSettlementPrice(String settlementPrice) 
    {
        this.settlementPrice = settlementPrice;
    }

    public String getSettlementPrice() 
    {
        return settlementPrice;
    }
    public void setProductNumber(String productNumber) 
    {
        this.productNumber = productNumber;
    }

    public String getProductNumber() 
    {
        return productNumber;
    }
    public void setSourceType(String sourceType) 
    {
        this.sourceType = sourceType;
    }

    public String getSourceType() 
    {
        return sourceType;
    }
    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }
    public void setBuyNum(Long buyNum) 
    {
        this.buyNum = buyNum;
    }

    public Long getBuyNum() 
    {
        return buyNum;
    }
    public void setGuestId(Long guestId) 
    {
        this.guestId = guestId;
    }

    public Long getGuestId() 
    {
        return guestId;
    }
    public void setProductJson1(String productJson1) 
    {
        this.productJson1 = productJson1;
    }

    public String getProductJson1() 
    {
        return productJson1;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setSalesPrice(BigDecimal salesPrice) 
    {
        this.salesPrice = salesPrice;
    }

    public BigDecimal getSalesPrice() 
    {
        return salesPrice;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setConvertId(Long convertId) 
    {
        this.convertId = convertId;
    }

    public Long getConvertId() 
    {
        return convertId;
    }
    public void setIsOfflineRefund(String isOfflineRefund) 
    {
        this.isOfflineRefund = isOfflineRefund;
    }

    public String getIsOfflineRefund() 
    {
        return isOfflineRefund;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderProductId", getOrderProductId())
            .append("refundFee", getRefundFee())
            .append("memo", getMemo())
            .append("createDate", getCreateDate())
            .append("productJson", getProductJson())
            .append("lastUpdateDate", getLastUpdateDate())
            .append("productId", getProductId())
            .append("offlineRefund", getOfflineRefund())
            .append("typeId", getTypeId())
            .append("settlementPrice", getSettlementPrice())
            .append("productNumber", getProductNumber())
            .append("sourceType", getSourceType())
            .append("logId", getLogId())
            .append("buyNum", getBuyNum())
            .append("guestId", getGuestId())
            .append("productJson1", getProductJson1())
            .append("status", getStatus())
            .append("salesPrice", getSalesPrice())
            .append("orderId", getOrderId())
            .append("convertId", getConvertId())
            .append("isOfflineRefund", getIsOfflineRefund())
            .toString();
    }
}
